1. Field of the Invention
The present disclosure relates to distributed system architectures, and particularly to systems and methods for managing the temporal lifetime of client-specific distributed data maintained by the distributed system infrastructure.
2. Background
In non-distributed programming environments, many resource management functions are performed automatically at a low operating system level in response to high-level language instructions. Thus, to take a simplified example, in traditional standard function or object calls, memory may be automatically allocated by the operating system for code and data structures required for executing the called function or object. In addition, when processing returns to the calling function or object, memory used for executing the called function or object may likewise be automatically de-allocated. Higher-level languages also typically provide tools for programmers to access operating system level memory allocation processes for greater control over resource management variables. Effective management of resources is critical in computing systems to avoid inefficiency and, in some cases, system malfunction.
In a distributed programming environment, there are few convenient tools for programmers (or other users or processes performing operations in the distributed computing environment) to effectively manage resource usage (including usage of memory or disk space) generated by them. Distributed infrastructures may implement resource management processes under infrastructure control, but typically methods for managing resources are not exposed for programmer control. What is therefore needed is a convenient mechanism for programmers to manage resource usage in a distributed programming environment.